Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Відповіді до теоретичних питань 1 - 30

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Державний іспит
Предмет:
Програмування мовою С

Частина тексту файла

Програмування мовою С Структура програми написаної мовою програмування СІ. Прокоментувати програму та вказати результат. Програма на С складається із сукупності фуекцій, одна з яких повинна називатись main(). Описані функції складаються з із заголовку і тіла функції. Заголовок містить оператори (директиви) передпроцесора, наприклад, #include та і’мя функції. Ім’я пізнається по круглим дужкам, які можуть бути порожніми. Тіло функції береться у фігурні дужки і складається із ряду операторів, кожний з яких закінчується крапкою з комою (мал. 1). Проста програма, написана, з врахуванням вимог стандарту ISO/ANSI C, повинна мати наступний формат: #include <stdio.h> int main(void) { оператори return 0; }  Мал. 1. Структура програми Поняття СІ-машини. Сутність передпроцесора. Макровизначення та макрофункції. Прокоментувати програму та вказати результат. Сі-Машина Сі- машину можна зобразити так:  Передпроцесор   Передпроцесор є першим кроком в побудові вихідного коду Сі-програми на стадії компіляції – це унікальна частина компіляторів мови Сі. До певної міри перед передпроцесор має свою власну мову, яка є потужним засобом програмування. Памятай, що всі директиви (інструкції) передпроцесора починаються з символа #. Використання передпроцесора надає програмісту такі переваги: Полекшена розробка програмного забезпечення, Код легко читається, Код легко модифікувати Сі-код лекше портувати на інші машини (архітектури). Передпроцесор також дозволяє нам модифікувати мову. Наприклад, замінити блок { ... } на такий як у мові PASCAL, тобто begin... end . Це робиться так:     #define begin { #define end } Під час компіляції всі всі входження begin та end будуть замінені відповідними позначеннями { або } і тому інші частини компілятора небудуть знати про цю підміну. #define define використовується для оголошення констант чи макровизначень. Наприклад:     #define <macro> <replacement name>     #define FALSE 0 #define TRUE !FALSE Також можна записувати невеликі функції використовуючи #define. Наприклад:    #define max(A,B) ( (A) > (B) ? (A):(B)) Це означає, що де би непоставити рядок max(C INCLUDEPICTURE "http://www.cs.cf.ac.uk/Dave/C/img25.gif" \* MERGEFORMATINET ,D INCLUDEPICTURE "http://www.cs.cf.ac.uk/Dave/C/img25.gif" \* MERGEFORMATINET ) цей текст буде замінено таким рядком як оголошено зверху. Отхе, якщо в коді написати щось таке:    x = max(q+r,s+t); то після передпроцесора ми отримаємо, якщо на цей код можна було би подивитись:    x = ( (q+r) > (r+s) ? (q+r) : (s+t)); Ще один приклад #define: #define Deg_to_Rad(X) (X*M_PI/180.0) /* перетворення градусів в радіани */   #define LEFT_SHIFT_8 <<8 #undef Ця команда відміняє макровизначення. Для перепризначення макровизначення його необхідно спочатку відмінити. #include Ця директива включає додаткові файли в код. У неї є 2 форми: #include <file> або #include ``file'' <file> вказує компілятору де знаходяться системні файли, а також назву цих файлів. UNIX-системи зберігають файли у директорії INCLUDEPICTURE "http://www.cs.cf.ac.uk/Dave/C/img3.gif" \* MERGEFORMATINET usr INCLUDEPICTURE "http://www.cs.cf.ac.uk/Dave/C/img3.gif" \* MERGEFORMATINET include INCLUDEPICTURE "http://www.cs.cf.ac.uk/Dave/C/img3.gif" \* MERGEFORMATINET . ``file'' виконує те саме, що і вищеописаний, але використовується для модулів написаних вручну (так прийнято для підвищення читабельності коду). #if #if оголошує цілочисельну константу. Воно обовязково завершується дируктивою #endif. Можна також встановити команду else. Ще одним прикладом використання #if є: #ifdef -- if defined and #ifndef -- if not defined Це зручно використовувати для перевірки результатів макровизначень. Наприклад, для встановлення розміру integer для портування програми з TurboC (MSDOS) на Unix (чи іншу архітектуру) . Нагадаю, що TurboC використовує 16 біт/integer ,а UNIX 32 біти/integer. Це викону...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини